This invention is in the field of simulation of integrated circuits. Embodiments of this invention are more specifically directed to small-signal stability analysis in such simulation of integrated circuits.
Simulation of the operation of electronic circuits is a staple task in the design of integrated circuits, especially as integrated circuit functionality and complexity have increased over time. Modern circuit simulation tools not only allow the circuit designer to ensure that the circuit carries out the intended function, but also enable the designer to evaluate the robustness of circuit operation over variations in temperature, signal levels, power supply voltages, and process parameters. Such simulation is useful in evaluating the performance of designed circuits prior to their manufacture, to validate the design prior to the expense of obtaining photomasks and building live devices. In addition, such simulation is useful in providing detailed understanding of the cause of and cures for circuit weaknesses that are observed from the test or operation of actual integrated circuit devices.
A well-known circuit simulation program is the Simulation Program with Integrated Circuit Emphasis, commonly referred to as SPICE, originated at the Electronics Research Laboratory of the University of California, Berkeley. Many commercial versions of the SPICE program are now available in the industry, including several versions that are internal or proprietary to integrated circuit manufacturers.
According to SPICE-based circuit simulators, the circuit being simulated is expressed in terms of its elements such as resistors, transistors, capacitors, and the like. Each circuit element is associated with a mathematical model of its behavior (i.e., response to voltage or current stimuli). These models are “connected” into an overall circuit description by specifying the circuit nodes to which each modeled circuit element is connected. The resulting circuit description essentially consists of a system of equations that can be numerically solved. In modern circuits, these equations are typically in the form of nonlinear differential equations, with interconnections of the modeled circuit elements specified by equations derived from the well-known Kirchhoff voltage and current laws. Typically, a system of nonlinear differential equations solved by SPICE-based or SPICE-like simulation programs is expressed as:
                                                        ⅆ                              ⅆ                t                                      ⁢                                          q                _                            ⁡                              (                                                      v                    _                                    ⁡                                      (                    t                    )                                                  )                                              +                                    i              ⇀                        ⁡                          (                                                v                  _                                ⁡                                  (                  t                  )                                            )                                +                                    u              _                        ⁡                          (              t              )                                      =        0                            (        1        )            where ν is a solution vector consisting of node voltages and branch currents in the circuit, q represents a vector of node charges, ī is a vector of currents flowing out of nodes, and ūu is a user-defined stimulus.
“Analysis” refers to the solution of these equations in the circuit description in response to a set of inputs or initial conditions (voltages, currents, stored charge etc.), for one or more selected variables or nodes of interest at which the circuit response is to be analyzed. The types of analyses available within modern circuit simulation environments include DC analysis, “small-signal” analyses such as AC analysis, and transient analysis, among others. Other analyses of the circuit, for example noise analysis, transfer function analysis, and the like, can also be performed via such simulation.
DC analysis essentially solves the system of nonlinear equations (1) to identify a steady-state operating point of the simulated circuit. Because the time-derivative term is zero in the steady-state, the system of equations (1) becomes:ī( νDC)+ūDC=0  (2)for DC analysis. For AC analysis, the system of equations (1) is solved in response to an input stimulus consisting of a DC component and a small harmonic perturbation:ū(t)=ūDC+ūejωt  (3)in which case the solution vector becomes: ν(t)= νDC+ νACejωt  (4)Substituting the expressions of equations (2) through (4) into the system of equations (1), and applying the small-signal approximation of first order Taylor expansion, the system of equations (1) is expressed, for purposes of performing this AC analysis, as:( GDC+jω CDC)· νAC+ūAC=0  (5)This system of equations (5) is a complex linear system, where
            G              _        _              DC    =                    ∂                  i          _                            ∂                  v          _                      ⁢          (                        v          _                DC            )      and where
            C              _        _              DC    =                    ∂                  q          _                            ∂                  v          _                      ⁢                  (                              v            _                    DC                )            .      
Transient analysis determines the time domain response of the circuit to a specified stimulus, over a specified time interval [0, T]. Typically, transient analysis is performed in modern circuit simulation environments by discretizing in time the differential algebraic equations describing the circuit, for example by replacing the time-derivative operator in the differential algebraic equations with a finite-difference approximation. This time discretization effectively converts the system of equations into a system of nonlinear algebraic equations, and that system is then solved in a piece-wise fashion at each of a sequence of discrete time points [0, t1, t2, . . . T] within the interval [0, T]. For example, discretization using the backward Euler formula expresses the system of equations (1) as:
                                                                                          q                  _                                ⁡                                  (                                                            v                      _                                        m                                    )                                            -                                                q                  _                                ⁡                                  (                                                            v                      _                                                              m                      -                      1                                                        )                                                                    h              m                                +                                    i              _                        ⁡                          (                                                v                  _                                m                            )                                +                                    u              _                        m                          =        0                            (        6        )            where m is the time index, and h is the time step between time points. The system of equations (6) is then solved at each of the discrete time points t1, t2, etc. Various other discretization approaches may be used, including the trapezoidal rule, forward Euler, backward Euler, and second-order backward different formula (Gear's methods). Selection of one of these particular discretization methods is generally based on a trade-off of computational complexity with the desired analysis accuracy.
In conventional transient analysis, solving the system of nonlinear algebraic equations after discretization at each time point, is typically obtained by way of an iterative solution algorithm. A basic approach to the solution of these equations is the well-known Newton-Raphson method, which begins from an initial guess for the solution of the nonlinear algebraic equations, linearizes the equations about the initial guess value, and solves the resulting linear system. The linearized equations are represented as a circuit matrix, and conventional LU factorization and forward/backward-substitution approaches are used to obtain the matrix solution. The new solution then becomes the initial guess for a next iteration of the solution process, and the process repeats until convergence criteria are satisfied. The solution of the system at that time point is then stored, and used in the solution of the system of nonlinear algebraic equations at the next time point.
Other types of small-signal analysis available within modern circuit simulation environments and packages include transfer function (XF) analysis, S-parameter (SP) analysis, noise analysis, and the like.
Another type of small signal analysis is referred to in the art as “small-signal stability” analysis, or simply “stability” analysis. As performed by conventional circuit simulation packages, small-signal stability analysis essentially analyzes small-signal properties of feedback (return) loops, for example gain and phase margin, in the circuit being simulated. As known in the art, phase margin is measured as the phase difference of the loop gain from −180° at the unity gain frequency, and gain margin is measured as the gain difference from unity at the frequency at which the loop gain exhibits a −180° phase shift. Conventional methods for performing small-signal stability analysis in the SPICE circuit simulation environment as well as in other simulation environments have been developed.
One approach to analysis of small-signal stability is referred to as “STB” analysis, and is described in Middlebrook, “Measurement of loop gain in feedback systems”, Int. J. Electronics, Vol. 38, No. 4 (1975), pp. 485-512, incorporated herein by this reference. An extension of the Middlebrook approach is described in Tian et al., “Striving for Small-Signal Stability”, Circuits and Devices (IEEE, January 2001), pp. 31-41, incorporated herein by this reference. STB analysis is based on a computation of the return ratio T (which corresponds to the loop gain in circuits with ideal loops) of a known feedback loop in the system, as taken at a breakpoint in the feedback loop. This return ratio T is based on two signal-injection-based measurements: a first measurement is a voltage return ratio obtained from applying a test voltage at the breakpoint to null the output current, and a second measurement is a current return ratio obtained from inserting a test current at the breakpoint to null the output voltage. Using the DC circuit matrices
            G              _        _              DC    =                              ∂                      i            _                                    ∂                      v            _                              ⁢              (                              v            _                    DC                )            ⁢                                        ⁢                                      ⁢      and      ⁢                          ⁢                        C                      _            _                          DC              =                            ∂                      q            _                                    ∂                      v            _                              ⁢              (                              v            _                    DC                )            expressing the system of equations (1) according to the small-signal approximation, as described above, the calculated voltage and current return ratios are combined to calculate the loop return ratio T. Variations on the STB approach are known, such approaches including the computation of the true return ratio by way of a bilateral return-loop model. Implementations of the STB analysis approach in conventional simulation environments provide output results similar to those provided in AC analysis, for example as plots of magnitude and phase of loop gain vs. frequency. Sweeps of other parameters can also be performed at specified frequencies. Phase and gain stability margins (i.e., distances from pole frequencies in terms of gain and phase values) can be computed automatically, as can phase and gain margin frequencies.
While STB analysis has the advantage that there is no DC break in the loop, and all loading effects are accounted for in the computations, STB analysis is applicable only to those feedback loops that are identified a priori in the analysis. As such, STB analysis is of limited use in circuits that have complicated feedback loops in which an ideal breakpoint cannot be readily identified. And STB analysis does not comprehend feedback loops that are “hidden”, such as those involving device parasitics.
Another newer approach for stability analysis in the circuit simulation environment is known as the “loop finder” or “LF” approach. One loop finder approach is described in detail in Milev et al., “A Tool and Methodology for AC-Stability Analysis of Continuous-Time Closed-Loop Systems”, Proc. of the Design, Automation and Test in Europe Conference and Exhibition (IEEE Computer Society, 2005), incorporated herein by this reference. This approach essentially utilizes underdamped continuous-time second-order systems to model overshoot and ringing, extracting the dominant second-order systems from the observed system frequency response. More specifically, an AC-current stimulus is applied to each node of the circuit in sequence, and the AC-voltage response to that stimulus is measured at the same node, using the DC circuit matrices
            G              _        _              DC    =                              ∂                      i            _                                    ∂                      v            _                              ⁢              (                              v            _                    DC                )            ⁢                                        ⁢                                      ⁢      and      ⁢                          ⁢                        C                      _            _                          DC              =                            ∂                      q            _                                    ∂                      v            _                              ⁢              (                              v            _                    DC                )            described above. A stability plot identifying the dominant complex poles is computed, from which natural frequencies and damping ratios are extracted. Those nodes that share the same complex pole form a loop, and the loop finder tool reports each loop along with their natural frequencies and damping ratios.
An improved approach to the Milev and Burt technique is described in copending and commonly assigned U.S. provisional application No. 61/242,222, filed Sep. 14, 2009, entitled “A Method for Small-Signal Stability Analysis of Analog Circuits”, and incorporated herein by reference. According to that approach, the system impedance transfer function at each node is expressed in a pole-residue form, in which all complex poles appear as conjugate pairs (and essentially define a second-order system). Real poles and complex poles with a large damping ratio are ignored, as are second-order systems with low DC impedance. The dominant complex poles for each node transfer function are identified, and those nodes sharing the same dominant complex pole are categorized as forming a loop. The nodes in each loop list are sorted according to their impedance, and gain and phase margins computed as desired.
The loop finder (“LF”) approach to small-signal stability analysis is useful in identifying and analyzing local unstable loops, thus overcoming the limitation of STB analysis. The computational requirements for loop finder analysis are substantial, however, especially in dense circuits with a large number of nodes. U.S. provisional application No. 61/242,222, incorporated herein by reference, describes an efficient algorithm that alleviates that computational burden.
In conventional circuit simulation environments, however, these and other stability analysis techniques can be applied only at assumed steady-state operating points. In other words, the various circuit nodes and parameters in the circuit being modeled are defined at steady-state conditions, and stability analysis is performed at those conditions. However, it has been observed, in connection with this invention, that transient effects can greatly vary the impedances (or admittances) and gains of circuit elements in modern integrated circuits. Accordingly, it has been observed, in connection with this invention, that circuits can be unstable at certain frequencies during transient events, and that such instability can become manifest as circuit failure during operation of actual live devices. Conventional simulators are unable to provide insight into these transient instabilities.